Virtualization is a core component for servers, cloud computing and virtual desktop environments (VDE) and is often used in data centers because it allows flexibility in the provisioning and placement of servers and their associated workloads in the data center. In system virtualization, multiple virtual computing systems or virtual machines are created within a single physical computing system. The physical system may be a stand-alone computer, or alternatively, a computing system utilizing clustered computers and components. Virtual systems, or virtual machines, are independent operating environments that use logical or real divisions of physical resources such as processors, memory, and input/output (I/O) adapters. In some instances, system virtualization is implemented through a managing functionality, typically hypervisor technology. Hypervisors, also referred to as virtual machine managers (VMMs), use a thin layer of code in software or firmware to achieve fine-grained, dynamic resource sharing. Hypervisors are the primary technology for system virtualization because they provide the greatest level of flexibility in how virtual resources are defined and managed.
Logical partitioning is the ability to logically divide a real, or physical, server into two or more independent servers, and execute one or more application in each virtual machine or logical partition (LPAR) as if the virtual machine or LPAR was a separate physical computer. Each virtual system, virtual server, or virtual machine operates like an independent computing system running its own operating system. Operating systems running in a virtualized computing environment are often referred to as “guest machines.” Hypervisors can allocate dedicated processors, I/O adapters, and memory to each virtual machine and can also allocate shared processors to each virtual machine. In some manners of virtualization, the hypervisor creates a shared processor pool from which the hypervisor allocates time slices of virtual processors to the virtual machines according to predetermined allocation percentages. In other words, the hypervisor creates virtual processors from physical processors so that virtual machines can share the physical processors, which includes sharing cache space and memory bandwidth, while running independent operating environments.
Some manners of virtualization allow for individual, physical processor cores to be partitioned into multiple LPARs. The method of simultaneous partitioning allows for finer divisions when the hypervisor allocates physical processors to virtual machines, which avoids wasting processing resources by only allocating the necessary resources to a given process. To maximize the method of fine partitioning, a system of dynamic logical partitioning (DLPAR) allows for runtime changes between different LPAR modes on a single processor core depending on workload requirements.